package mr

import "time"

//
// RPC definitions.
//
// remember to capitalize all names.
//

var coordinatorIp = "127.0.0.1"
var coordinatorPort = "1234"

// Args 和 Reply 结构体用于定义RPC调用的参数和返回值
type GetTaskArgs struct {
	WorkerID string // Worker的唯一标识符
}

type GetTaskReply struct {
	Err          error // 如果有错误发生，则包含错误信息
	MapTaskCount int   //map任务数量
	ReduceCount  int   // 传入的reducer的数量，用于hash
	StartTime    time.Time
	Task         Task
}

// CompleteTaskArgs 包含要报告给协调器的任务完成信息
type CompleteTaskArgs struct {
	TaskId   int      // 已完成的任务信息
	TaskType TaskType //TaskType
}

// CompleteTaskReply 包含协调器对任务完成报告的响应
type CompleteTaskReply struct {
	Err error // 如果有错误发生，则包含错误信息
}
